QuickTime 4 Reference
QTAtomContainer-based data structures are widely used in QuickTime. This appendix is an attempt at standardizing how these data structures are be described and documented. The key presented here is used when describing these structures elsewhere in the QuickTime documentation.
[(QTAtomFormatName)] =
atomType_1, id, index
data
atomType_n, id, index
data
The atoms may be required or optional:
<atomType>optional atom
atomTyperequired atom
The atom ID may be a number if it is required to be a constant, or may be a list of valid atom IDs, indicating that multiple atoms of this type are allowed.
3 one atom with id of 3
(1..3) three atoms with ids of 1, 2, and 3
(1, 5, 7) three atoms with ids of 1, 5, and 7
(anyUniqueIDs) multiple atoms each with a unique id
The atom index may be a 1 if only one atom of this type is allowed, or it may be a range from one to some constant or variable.
1 one atom of this type is allowed, index is always 1
(1..3) three atoms with indicies 1, 2, and 3
(1..numAtoms) numAtoms atoms with indicies of 1 to numAtoms
The data may be leaf data in which its data type is listed inside of brackets [], or may be a nested tree of atoms
[theDataType] leaf data of type theDataType
childAtomsa nested tree of atoms
Nested QT atom format definitions [( AtomFormatName )] may appear in a definition.